package com.zbkj.common.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 小区分红统计信息响应对象
 * </p>
 *
 * @author Caiyc
 * @since 2025-07-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="CommunityStatInfoFrontResponse对象", description="小区分红统计信息响应对象")
public class MerchantCommunityStatInfoFrontResponse implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "所在小区")
    private String community;

    @ApiModelProperty(value = "平台营业额")
    private BigDecimal businessAmount;

    @ApiModelProperty(value = "订单数")
    private Integer orderNum;

    @ApiModelProperty(value = "利润%")
    private BigDecimal profitScale;

    @ApiModelProperty(value = "利润金额")
    private BigDecimal profit;

    @ApiModelProperty(value = "分红发放时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date settlementTime;

    @ApiModelProperty(value = "是否已发放")
    private Boolean isSettlement;

    @ApiModelProperty(value = "统计周期(0:天，1：周，2：月，99：选择时间)")
    private Integer cycle;

    @ApiModelProperty(value = "周期开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "周期结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "商户名称")
    private String merchantName;

    @ApiModelProperty(value = "未结算平台营业额")
    private BigDecimal unsettledAmount;

    @ApiModelProperty(value = "本店营业额")
    private BigDecimal storeAmount;

    @ApiModelProperty(value = "排名列表")
    private List<CommunityStatRankingResponse> rankingList;

    @ApiModelProperty(value = "是否需要显示统计排名")
    private Boolean isShow;

    @ApiModelProperty(value = "奖励份额（取多少个名次）")
    private Integer prizeNum;

}
